/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tiketBioskop.entity;

import com.tiketBioskop.koneksi.koneksiDataBase;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author sepha
 */

public class daftarTayang {

    private int IDFilm;
    private String namaFilm;
    private String hari;
    private String jamTayang;
    private int hargaTiket;
    private String studio;

    public int getIDFilm() {
        return IDFilm;
    }

    public void setIDFilm(int IDFilm) {
        this.IDFilm = IDFilm;
    }

    public String getNamaFilm() {
        return namaFilm;
    }

    public void setNamaFilm(String namaFilm) {
        this.namaFilm = namaFilm;
    }

    public String getHari() {
        return hari;
    }

    public void setHari(String hari) {
        this.hari = hari;
    }

    public String getJamTayang() {
        return jamTayang;
    }

    public void setJamTayang(String jamTayang) {
        this.jamTayang = jamTayang;
    }

    public int getHargaTiket() {
        return hargaTiket;
    }

    public void setHargaTiket(int hargaTiket) {
        this.hargaTiket = hargaTiket;
    }

    public String getStudio() {
        return studio;
    }

    public void setStudio(String studio) {
        this.studio = studio;
    }
    //untuuk menambahkan daftar tayang
     public boolean tambahDaftarTayang() throws SQLException { //SqlException untuk menjlankan perintah sql di prepared statement
        //statement untk menghubungkan method tambhDaftarTayang k database
         //prepared cuma untuk insert update delete, untul select pakai create
         PreparedStatement tam = koneksiDataBase.getConnection().prepareStatement("INSERT INTO `tiketbioskop`.`daftartayang`(`idFilm`,`namaFilm`,`hari`,`jamTayang`,`hargaTiket`,`studio`) VALUES ( ?,?,?,?,?,?);");
        tam.setInt(1, getIDFilm()) ;
        tam.setString(2, getNamaFilm());
        tam.setString(3, getHari());
        tam.setString(4, getJamTayang());
        tam.setInt(5, getHargaTiket());
        tam.setString(6, getStudio());
        tam.executeUpdate();
        return true;

    }
     //untuk melihat daftar tayang
      public List<daftarTayang> viewdaftarTayang() throws SQLException {
          //resultset untuk menampung semua isi tabel
        Statement st = koneksiDataBase.getConnection().createStatement();//untul memghubungkn k database dgn membuat objek st
        ResultSet rs = st.executeQuery("select * from daftarTayang;"); //untuk mengekskusi kueri dlm java
        List<daftarTayang> list = new ArrayList<daftarTayang>(); //untuk memanggil
        while (rs.next()) { //untuk memanggil data dalam tabel per 1 kolom
            daftarTayang dT = new daftarTayang();
            dT.setIDFilm(rs.getInt("idFilm")); //array yg menampung semua id film
            dT.setNamaFilm(rs.getString("namaFilm")); //array yg menampunh semua nama film, dsb
            dT.setHari(rs.getString("hari"));
            dT.setJamTayang(rs.getString("jamTayang"));
            dT.setHargaTiket(rs.getInt("hargaTiket"));
            dT.setStudio(rs.getString("studio"));
            list.add(dT);
        }
        return list;
    }
      //method untuk menghapus daftar tayang
    public void deleteDaftarTayang(int IDFilm) throws SQLException {
        PreparedStatement del=koneksiDataBase.getConnection().prepareStatement("delete from `daftartayang` where `idFilm`='"+IDFilm+"'");
        del.executeUpdate();
    }
    //untuk mengubah daftar tayang
    public void UbahDaftarTayang(int data) throws SQLException {
        PreparedStatement ubah=koneksiDataBase.getConnection().prepareStatement("update daftartayang set namaFilm=?,hari=?,jamTayang=?,hargaTiket=?,studio=? where idFilm="+data+"");
        ubah.setString(1, getNamaFilm());
        ubah.setString(2, getHari());
        ubah.setString(3, getJamTayang());
        ubah.setInt(4, getHargaTiket());
        ubah.setString(5, getStudio());
        ubah.executeUpdate();
    }
}
